This invention relates to a system and method for controlling the spindle of an electric motor, and more particularly to a system and method for controlling the spindle of a motor that rotates the platter of a disk drive.
Controlling the speed at which the platter of a disk drive rotates is very important, because even a small error in angular position resulting from an error in speed control may result in an incorrect sector being read or written. It is therefore a nominal goal to determine disk speed as accurately as possible.
Position, and therefore speed, of a disk drive platter is commonly determined by detecting the back electromotive force (back-EMF) generated when one of the rotor poles passes one of the stator poles. For example, it is typical for a disk drive motor to have six poles, so that each pole-pair interaction theoretically signifies 60° of motor rotation. However, in practice, it is difficult during manufacturing to accurately position the poles. In particular, the rotor may not be perfectly formed, but even if the rotor is perfectly formed, mechanical differences in the windings of the various poles could result in effective positional differences among the poles. Therefore, from an electrical perspective, some sets of adjacent poles may be closer together than 60°, and other sets of adjacent poles may be further apart than 60°. These offsets may be slight, but may be enough to prevent achieving the desired 0.01% accuracy.
Commonly-assigned U.S. Pat. No. 7,098,621, which is hereby incorporated by reference herein in its entirety, describes a method and apparatus for deriving calibration data for a motor, and a method and apparatus for controlling a motor using that calibration data. In accordance with those methods and apparatus, one phase of the motor power supply is suppressed (i.e., tristated) during a time duration when back-EMF is expected to be detected, and at the same time one of the other phases is grounded and the third phase is pulled high. If the back-EMF is detected outside that duration, the duration is expanded. This is iterated until the back-EMF falls within the expanded duration. In addition, commonly-assigned U.S. Pat. No. 7,196,484, which is hereby incorporated by reference herein in its entirety, describes a method and apparatus for adjusting the power supply voltage to minimize current spikes during the tristating operation.
The foregoing methods allow clean measurement of back-EMF, and therefore of motor speed. This allows motor speed to be adjusted by adjusting the spindle drive current. However, adjustments occur only once every several revolutions, and between adjustments, the spindle drive current remains constant during motor operation. Therefore, as the rotor rotates with its poles effectively unevenly spaced, the motor speed varies slightly between poles, resulting in potentially unacceptable jitter, even though the average motor speed may be the desired motor speed.
Copending, commonly-assigned U.S. patent application Ser. No. 11/347,543, filed Feb. 3, 2006, which is hereby incorporated by reference herein in its entirety, describes a method and apparatus for measuring back-EMF to derive the actual period of each pole and to adjust the drive current accordingly from pole to pole to maintain constant motor speed and reduce jitter. Copending, commonly-assigned U.S. patent application Ser. No. 11/840,460, filed Aug. 17, 2007, which is hereby incorporated by reference herein in its entirety, describes a method and apparatus for measuring back-EMF to derive the back-EMF profile of each pole and to fit the drive profile to the back-EMF profile. However, that system assumes that the measured samples for the back-EMF profile belong to poles whose periods are equal. This could result in a drive profile that causes the motor to operate faster or slower than required in a particular period. Moreover, the system might attempt to compensate based on an assumption that the next pole period will be the same as the current pole period, and because it is not the same, the attempted compensation could actually make the speed variation worse.
It therefore would be desirable to be able to control the spindle drive current to minimize motor speed variations.